# Copyright 2025 Ant Group Co., Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

module(
    name = "dataproxy_sdk_py",
    compatibility_level = 1,
)

bazel_dep(name = "apple_support", version = "1.17.1")
bazel_dep(name = "rules_proto_grpc_python", version = "5.0.1")
bazel_dep(name = "pybind11_bazel", version = "2.13.6")
bazel_dep(name = "rules_python", version = "1.2.0")
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "dataproxy_sdk_cc", version = "1.0.0")
local_path_override(
    module_name = "dataproxy_sdk_cc",
    path = "../cc",
)

single_version_override(
    module_name = "grpc",
    version = "1.66.0.bcr.4",
)

DEFAULT_PYTHON_VERSION = "3.11"

SUPPORTED_PYTHON_VERSIONS = [
    "3.9",
    "3.10",
    "3.11",
]

python = use_extension("@rules_python//python/extensions:python.bzl", "python")

[
    python.toolchain(
        ignore_root_user_error = True,
        is_default = python_version == DEFAULT_PYTHON_VERSION,
        python_version = python_version,
    )
    for python_version in SUPPORTED_PYTHON_VERSIONS
]

use_repo(python, "python_versions")

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")

[
    pip.parse(
        download_only = True,
        hub_name = "dataproxy_sdk_pip",
        python_version = python_version,
        requirements_lock = ":requirements.txt",
    )
    for python_version in SUPPORTED_PYTHON_VERSIONS
]

use_repo(pip, "dataproxy_sdk_pip")
